#pragma once

class CCreateEnt
{
public:
	CCreateEnt(void);
public:
	~CCreateEnt(void);
public:
	AcDbObjectId CreateLine(AcGePoint3d ptStart, AcGePoint3d ptEnd);
public:
	AcDbObjectId PostToModelSpace(AcDbEntity* pEnt);
public:
	AcDbObjectId CreateCircle(AcGePoint3d ptCenter, AcGeVector3d vec, double radius);
public:
	AcDbObjectId CreatePolyline(AcGePoint2dArray points, double width);
public:
	AcDbObjectId CreateText(const AcGePoint3d& ptInsert, const TCHAR* text, AcDbObjectId style, double height, double rotation);
public:
	AcDbObjectId CreateMText(const AcGePoint3d& ptInsert, const TCHAR* text, AcDbObjectId style, double height, double width);
public:
	AcDbObjectId CreateArc(AcGePoint3d ptCenter, AcGeVector3d vec, double radius, double startAngle, double endAngle);
public:
	AcDbObjectId CreatePolygon(AcGePoint2d ptCenter, int number, double radius, double rotation, double width);
public:
	AcDbObjectId CreateEllipse(AcGePoint2d pt1, AcGePoint2d pt2);
public:
	AcDbObjectId CreateHatch(AcDbObjectIdArray objIds, const TCHAR* patName, bool bAssociative);
public:
	AcDbObjectId CreateDimAligned(const AcGePoint3d& pt1, const AcGePoint3d& pt2, const AcGePoint3d& ptLine, const TCHAR* dimText, AcDbObjectId dimStyle);
public:
	AcDbObjectId CreateDimAligned(const AcGePoint3d pt1, const AcGePoint3d pt2, const AcGePoint3d ptLine,  const AcGeVector3d& vecOffset, const TCHAR* dimText);
};
